#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Mapanqi
# 插入排序: 是一种简单直观的排序算法。它的工作原理是通过构建有序序列，对于未排序数据，在已排序序列中从后向前扫描，找到相应位置并插入。插入排序在实现上，在从后向前扫描过程中，需要反复把已排序元素逐步向后挪位，为最新元素提供插入空间。

# -------------------------
# 最优时间复杂度：O(n) （升序排列，序列已经处于升序状态）
# 最坏时间复杂度：O(n2)
# 稳定性：稳定
# -------------------------

list1 = [2, 3, 1, 4, 6, 7, 5]
for i in range(1, len(list1)):
    print("第{}轮的排序".format(i))
    for j in range(i, 0, -1):
        if list1[j] < list1[j-1]:
            list1[j], list1[j-1] = list1[j-1], list1[j]
    print("第{}轮排序的结果是{}".format(i, list1))
print(list1)